Knowing whether a vehicle is travelling forward or in reverse (the forward/reverse state) is integral to automatic steering systems for vehicles. For example, if a vehicle is travelling forward, angling of the wheels to make the vehicle veer left would rotate the vehicle to the right if the vehicle was in fact travelling in reverse. The correct forward/reverse state is thus a crucial input to a safe and effective automatic steering system.
There are a number of prior art systems for determining forward/reverse state. These include a vehicle transmission sensor as taught in U.S. Pat. No. 7,451,029 and the direction determination system of EP 1787889 using yaw rate and change in steering position. A vehicle transmission sensor has the drawback that the vehicle may still be travelling momentarily forwards when a reverse gear is already engaged. Using yaw rate and change in steering position is dependant on the accuracy of the yaw rate and steering position sensors.
Certain prior art systems use the signals from both an Inertial Measurement Unit (IMU) and a GNSS unit such as a GPS receiver mounted to the vehicle to determine if the vehicle is travelling forward or in reverse. An IMU provides the IMU heading of the vehicle and the GPS receiver the direction of motion for the vehicle. The heading of the vehicle is the direction the nose of the vehicle is pointing. If the IMU heading and the direction of motion of the vehicle are opposite each other, then the vehicle is determined to be travelling in reverse. Conversely, if the IMU heading and the direction of motion of the vehicle are in the same direction then the vehicle is determined to be travelling forwards.
IMU's may require coarse alignment at startup and a typical method for coarse alignment is to take the first GPS direction of motion for the vehicle as the heading of the vehicle. The IMU heading at coarse alignment is thus taken to be the GPS direction of motion at startup. The first action of the vehicle at startup is often reversing the vehicle out of a barn or shed, resulting in the coarse alignment of the IMU heading being approximately 180° offset from the true heading of the vehicle. There may be other reasons that the coarse alignment of the IMU is incorrect.
An unresolved IMU heading at any given time after startup is generally calculated as the coarse alignment IMU heading adjusted by angular change since startup measured by a gyro of the IMU. The calculated unresolved IMU heading is typically corrected recursively over multiple epochs using an error term derived from the difference between the unresolved IMU heading and the GPS direction of motion. The error term is typically the product of a constant “A” and a heading alignment error. The heading alignment error is the difference between the unresolved IMU heading and a GPS direction of motion. When a vehicle changes from forward to reverse the unresolved IMU heading will generally stay the same, but the GPS direction of motion will swing around by 180°. The heading alignment error will thus jump by 180° when the vehicle changes from forward to reverse. Large error terms, due to large heading alignment errors, are detrimental to accurate approximation of the true heading of the vehicle.
A known solution to avoid the 180° jump in heading alignment error is to detect the forwards/reverse state of the vehicle before calculating the heading alignment error. The GPS direction of motion used in determining the heading alignment error can then be adjusted by 180° if the vehicle changes from forwards to a reverse state, avoiding the 180° jump in heading alignment error. For example, if a vehicle is travelling forward, its unresolved IMU heading and GPS direction of motion will typically only differ by a few degrees and the heading alignment error between the two is thus small. When the vehicle starts moving in reverse the IMU heading and GPS direction of motion are now substantially opposite each other and the heading alignment error will be close to 180°. The known solution to avoid the large 180° jump in heading alignment error is to adjust the GPS direction of motion by 180° when detecting the reverse state of the vehicle and before calculating the heading alignment error. The adjusted GPS direction of motion and unresolved IMU heading thus remains close to each other even when the vehicle is travelling in reverse and the heading alignment error remains relatively small. This kind of solution is completely dependant on correctly detecting the forwards/reverse state of the vehicle prior to the heading alignment error being calculated. The forwards/reverse state can not always be reliable detected as discussed. Detecting changes in GPS direction of motion becomes difficult at very low speeds because of the amount of noise on the velocity measurement, and can give bad direction of motion when speed drops below roughly 0.5 km/h. For large vehicles where the GPS antenna is mounted several meters from the vehicle centre of rotation, small changes in vehicle rotation (due to rough terrain or vehicle movements due to applying the brake and bouncing on suspension or tyres) can manifest as large changes in velocity at the antenna which is not indicative of the actual velocity of the vehicle.
There is a need for robust and accurate forward/reverse state determination for use with automatic steering systems.